An apparatus of redundant arrays of inexpensive disks, or a RAID apparatus uses a storage system of distributed cache memory type. The RAID apparatus conventionally uses a redundant configuration including a plurality of control modules that control input and output of data to and from a storage for increasing performance and reliability. Read/write processing of data is executed by each control module from/in a logical volume.
Such a RAID apparatus has a remote copy function that ensures ordering, the function which is so-called advanced copy, for increasing the reliability etc.
FIG. 28 is an illustration explaining the RAID apparatus having the remote copy function that ensures the ordering. FIG. 28 illustrates a storage system including a RAID apparatus (a copy source apparatus) 2801 having control modules #00 and #01, and a RAID apparatus (a copy target apparatus) 2802 having control modules #10 and #11.
Each of the control modules included in each of the RAID apparatuses includes a write only buffer having a buffer and a buffer index table (BIT) storage unit; a buffer set information storage unit that stores information relating to a buffer set; and a storage medium that stores data.
The buffer is divided into a plurality of regions each having a given size. Buffer IDs are respectively assigned to the divided regions. Data stored in the storage medium or data to be stored in the storage medium is temporarily stored in the respective regions. The BIT storage unit stores storage locations of data stored in the buffer, or a BIT that is information including buffer IDs in FIG. 28.
Referring to FIG. 28, (0000) written in a buffer represents buffer data stored in a buffer with a buffer ID of 0000. Also, 0000 written in the BIT represents the buffer ID.
The buffer set information storage unit stores information relating to a buffer set that is a combination of buffer data stored in the buffers of the control modules, for example, a combination of buffer data (0000) and (0100) surrounded by a circle with a horizontally extending dotted line in the copy source apparatus 2801.
The information relating to the buffer set includes association information that associates each buffer data with a buffer in the copy target apparatus 2802 that stores the buffer data. For example, the buffer data stored in the buffer with the buffer ID of 0000 is associated with a buffer with a buffer ID of 1000 that stores the buffer data, in the buffer set information storage unit in the control module #00.
In the above configuration, (a) the control modules #00 and #01 store Write data in storage media in response to a Write I/O command from a host computer or the like.
Simultaneously, (b) the control modules #00 and #01 transfer and store the Write data in the buffers. At this time, the Write data is managed on a buffer set-by-buffer set basis.
Then, (c) when writing the Write data in the buffers is completed, the control modules #00 and #01 start data transfer for the Write data, i.e., start remote copy on buffer set-by-buffer set basis.
(d) The write data sent from the copy source apparatus 2801 by the remote copy is stored in the buffers included in the control modules #10 and #11 in the copy target apparatus 2802 in accordance with the buffer set information. Then, the control modules #10 and #11 reflect the Write data stored in the buffers into the storage media.
When the above processing is completed, (e) the control modules in the copy source apparatus 2801 and the copy target apparatus 2802 release the buffers etc.
As described above, the buffer set is collectively controlled by performing the data transmission, collectively by using the write only buffer. Then in the copy target apparatus 2802, the data is expanded in the storage media on buffer set-by-buffer set basis. Accordingly, the ordering is ensured.
Relating to the technique, a backup device is known. The backup device monitors the use states of the buffers that temporarily store the write data, writes out the information in the buffers to a high-speed disk system if free spaces of the buffers become small, and writes back the information to the buffers if the use states of the buffers are improved.
Also, a cache storage system is known. The cache storage system includes a cache disk that temporarily stores copy data to be transmitted by a master storage system, and copy data transmitting means for transmitting the copy data stored in the cache disk and storing the copy data in a sub-storage system.
Japanese Laid-open Patent Publication Nos. 2006-268420 and 2006-155202 are examples of related art.
Referring to FIG. 29, in the copy source apparatus 2801, however, the buffers that store the transferred Write data, and the BIT storage unit are not released and held until the Write data is expanded into the storage media in the copy target apparatus 2802.
Thus, (f) in a case in which the processing for expanding the Write data into the storage media is delayed in the copy target apparatus 2802, if line performance between the copy source apparatus 2801 and the copy target apparatus 2802 is low or unstable, the transfer processing may be delayed.
For example, if the transfer processing is delayed because a line bandwidth between the copy source apparatus 2801 and the copy target apparatus 2802 is low or unstable, the time of using the buffers and the BIT storage units in the copy source apparatus 2801 and the copy target apparatus 2802 may increase due to the delay. Thus, the memory cannot be released during that time.
(g) In this state, the copy source apparatus 2801 stores Write data every time when the copy source apparatus 2801 receives a new Write I/O command from the host computer or the like. Consequently, the buffers in the copy source apparatus 2801 are consumed one after another.
(h) If this state continues, the buffers capable of storing the Write data may be insufficient, and shortage of a buffer in the copy source apparatus 2801 may occur. Also, if the Write data has a size equivalent to or larger than the assigned buffer, the shortage of a buffer may occur.
In the state in which the buffer is used up, the copy source apparatus 2801 stops without processing the Write I/O command from the host computer or the like. This state cannot be continued for a long time.
Hence, (i) the processing of the Write I/O command is temporarily stopped, and if the state in which the buffer is used up is not settled although a predetermined time elapses, buffer Halt processing is performed. The copy source apparatus 2801 and the copy target apparatus 2802 perform the buffer Halt processing, to clear the buffer and resume the processing of the Write I/O command.
At this time, the copy source apparatus 2801 writes back the information of the Write data etc. in the buffer into a dedicated bit map. The copy source apparatus 2801 performs remote copy transfer that does not ensure the ordering, in accordance with the bit map after the buffer Halt processing is executed. In this case, the remote copy that ensures the ordering may be suspended.